Acoustic echo cancellation system

ABSTRACT

An embodiment of an acoustic echo cancellation system is disclosed. The system comprises an echo cancellation unit, a second filter and a subtraction unit. The echo cancellation unit comprises a first attenuator, a first filter and a first subtractor. The first attenuator has a first down-scaling factor for attenuating a first signal. The first filter generates a first echo signal estimate based on the attenuated first signal. The first subtractor generates a third signal by subtracting the first echo signal estimate from a second signal. The second filter generates a second echo signal estimate based on the first signal. The subtraction unit subtracts the second echo signal estimate from the third signal.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 60/906,133, filed Mar. 9, 2007.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to echo cancellation system, and more particularly to an acoustic echo cancellation system with two or more adaptive filters and one or more attenuators.

2. Description of the Related Art

FIG. 1 shows a block diagram of a conventional system for implementing Acoustic Echo Cancellation (AEC). A received signal x(n) is supplied via the input 101, and, in turn, transmitted to a loudspeaker 104 and filter 103. The filter 103 generates a simulated echo signal z(n) to remove unwanted portions from the signal y(n). In practice, a microphone 105 picks up desired acoustic signals, and also unavoidably picks up undesired audio output signals from the loudspeaker 104 which is called the acoustic echo. Typically, the audio signal picked up by microphone 105 has two acoustic echo components, one component is from the direct acoustic echo path (DEP) between a loudspeaker 104 and the microphone 105 and the other is from the reflective acoustic echo path (REP) reflected by walls or objects. The filter 103 plays the key role in removal of echo components in acoustic echo cancellation; its performance affects the effectiveness of acoustic echo cancellation.

Compared to telephone network echo paths, acoustic echo paths have certain distinctively different characteristics. For example, acoustic echo paths often have longer spans, varying impulse responses with time, and much less attenuated echo returns. Thus, adopting a network echo canceller to perform acoustic echo control is unsuitable. Due to the distinctively different characteristics of acoustic echo paths, AEC designs are generally more complicated and implementation more costly. For a typical hand-free voice terminal application in a conference room, the acoustical echo path span can easily be a few hundred milliseconds. When using the FIR filter 103 in FIG. 1 to replicate echo path response, more than a thousand taps are required for the narrowband digital speech signal sampled at 8 kHz, and a few thousands taps are required in wideband applications where the sampling rate is 16 kHz or higher.

Due to cost sensitivities, most applications in industrial and commercial products use integer fixed-point processors rather than the more expensive floating-point processors. Digital speech data are commonly sampled to be 16 bit 2's complement integer, and Acoustic Echo Canceller implementations are commonly done with fixed-point digital signal processors (DSP) that typically have 16-bit data word length and 40-bit integer multiply-accumulator. When two 16-bit integer data undergo integer multiplication, a 32-bit integer product is formed. Meanwhile, with 8 guard bits in a 40-bit accumulator, in the worst case a total of 256 multiply-accumulate operations can be done before saturation could occur.

Multiply-accumulation is an essential operation of FIR filtering. If the filter length N is large such as in the case needed to represent the estimated acoustic echo path impulse response, the sum-of-product operations may exceed 40 bits often. The limited accumulator length of the fixed-point processor will prevent the real acoustic impulse response from being represented digitally with sufficient precision. This is especially true when the received input signal has a higher signal level, then there will be fewer number of bits available for the FIR filter coefficients in order to avoid saturation in the multiply-accumulate operations. In the case of saturation happening or lacking of sufficient bit precision for filter coefficient representation, acoustic echo cancellation performance is adversely affected. Therefore the conventional ways of implementing adaptive FIR filter on fixed-point processors often experience degraded performance when used in acoustic echo cancellation applications.

BRIEF SUMMARY OF THE INVENTION

An embodiment of an acoustic echo cancellation system is disclosed. The system comprises an echo cancellation unit, a second filter and a subtraction unit. The echo cancellation unit comprises a first attenuator, a first filter and a first subtractor. The first attenuator has a first down-scaling factor for attenuating a first signal. The first filter generates a first echo signal estimate based on the attenuated first signal. A third signal is generated by subtracting the first echo signal estimate from a second signal in the first subtractor. The second filter generates a second echo signal estimate based on the first signal. The subtraction unit subtracts the second echo signal estimate from the third signal.

An embodiment of an apparatus with an acoustic echo cancellation system is disclosed. The apparatus comprises a loudspeaker, a microphone, an echo cancellation unit, a second filter and a subtraction unit. The loudspeaker receives and plays a first signal. The microphone acquires a second signal. The echo cancellation unit comprises a first attenuator, a first filter and a first subtractor. The first attenuator has a first down-scaling factor for attenuating a first signal. The first filter generates a first echo signal estimate based on the attenuated first signal. A third signal is generated by subtracting the first echo signal estimate from a second signal in the first subtractor. The second filter generates a second echo signal estimate based on the first signal. The subtraction unit subtracts the second echo signal estimate from the third signal.

An embodiment of an acoustic echo cancellation method comprises: receiving a first signal and a second signal; attenuating the first signal and generating a first echo signal estimate based on the attenuated first signal; subtracting the first echo signal estimate from the second signal to generate a third signal; generating a second echo signal estimate based on the first signal; subtracting the second echo signal estimate from the third signal.

A detailed description is given in the following embodiments with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:

FIG. 1 shows a block diagram of a conventional system for implementing Acoustic Echo Cancellation (AEC).

FIG. 2 shows a block diagram of an embodiment of the acoustic echo cancellation system according to the invention.

FIG. 3 shows a block diagram of another embodiment of the acoustic echo cancellation system according to the invention.

FIG. 4 shows a block diagram of another embodiment of the acoustic echo cancellation system according to the invention.

FIG. 5 shows a block diagram of another embodiment of the acoustic echo cancellation system according to the invention.

FIG. 6 is a flowchart of an embodiment of the acoustic echo cancellation method according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.

FIG. 2 shows a block diagram of an embodiment of the acoustic echo cancellation system according to the invention. The received signal x(n) is supplied via the input 201, and, in turn, transmitted to loudspeaker 204, echo cancellation unit 203 and the second filter 207. The echo cancellation unit 203 comprises an attenuator 203 a, the first filter 203 b and the first subtractor 203 c. The attenuator 203 a applies a down-scaling factor 1/G to signal x(n), where G is a positive number greater than 1, and generates an attenuated signal x₁(n). Given the signal x(n) is represented digitally in finite precision, the attenuated signal x₁(n) keeps the most significant bits (MSB) of x(n) which contributes the most significant part to the received echo signal from the microphone 205. The echo cancellation unit 203 is thus deemed to cancel the largest portion of echo contained in the input signal y(n) from the microphone 205.

The echo cancellation unit 203 generates a first echo signal estimate z₁(n) to remove the unwanted portion from the signal y(n). The first filter 203 b receives the attenuated signal x₁(n) to generate the first simulated echo signal z₁(n) to be subtracted from the microphone signal y(n). The filter 203 b learns the echo path impulse response by using an adaptive algorithm based on a feedback signal d(n).

The first filter 203 b is a linear adaptive filter commonly realized by a finite impulse response (FIR) filter with coefficients expressed as:

H(n)=[h ₀(n),h ₁(n), . . . , h _(N) ₁ ⁻¹(n)]^(T)  (1),

wherein n is the discrete time index and N₁ is the length of the filter. The signal x(n) is output to the loudspeaker 204 which then goes through the room impulse response and then gets picked up by the microphone 205 as echo. The first echo estimate is generated from the first filter 203 b convolved with x₁(n):

$\begin{matrix} {{z_{1}(n)} = {\sum\limits_{k = 0}^{N_{1} - 1}{{h_{k}(n)}{{x_{1}\left( {n - k} \right)}.}}}} & (2) \end{matrix}$

Echo cancellation is then achieved by subtracting the first echo signal estimate z₁(n) from the signal y(n) picked up by the microphone 205 via the subtractor 203 c. This process can be expressed by:

d(n)=y(n)−z ₁(n)  (3).

Note that the first filter 203 b needs to be adaptive in order to learn the echo path impulse response and then use it to simulate the echo path for echo cancellation. This adaptation is often called training or learning, and can be achieved by using commonly used adaptive algorithms such as the Least Mean Square (LMS) algorithm. Choosing of the adaptive algorithm is beyond the scope of this invention and no details will be given in this embodiment.

In the echo cancellation unit 203, the input digital signal x₁(n) loses some Least Significant Bits (LSB) of x(n) as a result of the attenuation and therefore needs fewer data bits to be represented in a fixed-point processor. The filter coefficients H(n) then gains more bits or precision for representing the echo path impulse response to generate the echo signal estimate via the FIR filtering operation shown in Eq (2).

After the processing by echo cancellation unit 203, large portions of echo are cancelled from the signal y(n). However, there are still some echo signal components with small amplitude reside in d(n), the output of the echo cancellation unit 203. This residual echo is mainly caused by discarding some LSB of x(n) in the echo cancellation unit 203 during the attenuation operation, and may also be the consequence of the saturations still exist when sustained passage of large magnitude inputs and echo signals occur. Therefore, a second filter 207 is applied to cancel the residual echo from the signal d(n).

The second filter 207 can be a linear or nonlinear filter. The simplest realization is a linear FIR filter. Its coefficients can be expressed by:

G(n)=[g ₀(n),g ₁(n), . . . , g _(N) ₂ ⁻¹(n)]  (4),

wherein n is the discrete time index and N₂ is the length of the filter. The coefficient set G(n) is deemed to approximate the impulse response of an equivalent echo path associated with the residual echo in d(n). This echo path does not represent the total room echo path impulse response but an equivalent portion of it associated with the residual echo in d(n). The second echo estimate z₂(n) can be generated by the second filter 207 as follows:

$\begin{matrix} {{z_{2}(n)} = {\sum\limits_{k = 0}^{N_{2} - 1}{{g_{k}(n)}{{x\left( {n - k} \right)}.}}}} & (5) \end{matrix}$

Echo cancellation is then achieved by subtracting the second simulated echo signal z₂(n) from the signal d(n) via the subtractor 206. The result can be expressed by:

e(n)=d(n)−z ₂(n)  (6).

The second filter 207 also needs to be adaptive so that the coefficients in G(n) will be trained to approach the impulse response of an equivalent echo path associated with the residual echo appearing in the signal d(n). The use of the adaptive algorithms for the second filter 207 will not be addressed in this embodiment. It may not be the same algorithm as used by the first filter 203 b.

The final echo-cancelled signal e(n) is then transmitted to the output 202 after implementing the echo cancellation unit 203, the second filter 207 and the subtractor 206.

FIG. 3 shows a block diagram of another embodiment of the acoustic echo cancellation system according to the invention. Compared with the system shown in FIG. 2, a second echo cancellation unit is applied to enhance the efficiency of echo cancellation. The received signal x(n) is supplied via the input 301, and, in turn, transmitted to a loudspeaker 304, a first echo cancellation unit 303, a second echo cancellation unit 307 and a third filter 308. The first echo cancellation unit 303 comprises a first attenuator 303 a, a first filter 303 b and a subtractor 303 c. The first attenuator 303 a applies a down-scaling factor 1/G₁ to signal x(n), where G₁ is a positive number greater than 1, and generates an attenuated signal x₁(n).

The first echo cancellation unit 303 generates a first echo signal estimate z₁(n) to remove the unwanted portion from the signal y(n). The first filter 303 b receives the attenuated signal x₁(n) to generate the first echo signal estimate z₁(n) to be subtracted from the microphone signal y(n). The first filter 303 b learns the echo path impulse response by using an adaptive algorithm based on a feedback signal d₁(n).

The first filter 303 b is a linear adaptive filter commonly realized by a finite impulse response (FIR) filter with coefficients expressed as:

H ₁(n)=[h _(1,0)(n),h _(1,1)(n), . . . , h _(1,N) ₁ ⁻¹(n)]^(T)  (7),

wherein n is the discrete time index and N₁ is the length of the first filter 303 b. The signal x(n) is output to the loudspeaker 304 which then goes through the room impulse response and then gets picked up by the microphone 305 as echo. The first echo estimate is generated from the first filter 303 b convolved with x₁(n):

$\begin{matrix} {{z_{1}(n)} = {\sum\limits_{k = 0}^{N_{1} - 1}{{h_{1,k}(n)}{{x_{1}\left( {n - k} \right)}.}}}} & (8) \end{matrix}$

Echo cancellation is then achieved by subtracting the first simulated echo signal z₁(n) from the signal y(n) picked up by the microphone 305 via the subtractor 303 c. The result can be expressed as:

d ₁(n)=y(n)−z ₁(n)  (9).

The second echo cancellation unit 307 comprises a second attenuator 307 a, a second filter 307 b and a second subtractor 307 c. The second attenuator 307 a applies a down-scaling factor 1/G₂ to signal x(n), where G₂ is a positive number greater than 1, and generates an attenuated signal x₂(n).

The second echo cancellation unit 307 generates a second echo signal estimate z₂(n) to remove the residual echo portion from the signal d₁(n). The second filter 307 b receives the attenuated signal x₂(n) to generate the second echo signal estimate z₂(n), and adjusts the attenuated signal x₂(n) based on a feedback signal d₂(n).

The second filter 307 b is a linear adaptive filter commonly realized by a finite impulse response (FIR) filter with coefficients expressed as:

H ₂(n)=[h _(2,0)(n),h _(2,1)(n), . . . , h _(2,N) ₂ ⁻¹(n)]^(T)  (10),

wherein n is the discrete time index and N₂ is the length of the second filter 307 b. The second echo signal estimate z₂(n) is generated from the second filter 307 b convolved with x₂(n):

$\begin{matrix} {{z_{2}(n)} = {\sum\limits_{k = 0}^{N_{2} - 1}{{h_{2,k}(n)}{{x_{2}\left( {n - k} \right)}.}}}} & (11) \end{matrix}$

Echo cancellation is then achieved by subtracting the second echo signal estimate z₂(n) from the signal d₁(n) via the subtractor 307 c. The result can be expressed by:

d ₂(n)=d ₁(n)−z ₂(n)  (12).

Note that both the first filter 303 b and the second filter 307 b need to be adaptive. The adaptation can be achieved with commonly used algorithms such as Least Mean Squares (LMS).

Note also that the length of the first filter 303 b is generally different from the length of the second filter 307 b. In this embodiment, N₂ is preferred to be selected smaller than N₁ Furthermore, the value of G₁ in the first attenuator 303 a is typically selected to be greater than the value of G₂ in the second attenuator 307 a.

After processing of the first echo cancellation unit 303 and the second echo cancellation unit 307, large portions of echo are cancelled from the signal y(n). However, there are still some residual echo in the signal d₂(n) due to the data precision loss of signals x₁(n) and x₂(n) compared to the original received signal x(n), the loses in precision of data representation results in the echoes in the small signal component not being cancelled. A third filter 208 is, thus, employed to estimate this residual echo and cancel it from the signal d₂(n).

The third filter 308 can be a linear or nonlinear filter. The simplest realization is a linear FIR filter. Its coefficients can be expressed by:

G(n)=[g ₀(n),g ₁(n), . . . , g _(N) ₃ ⁻¹(n)]^(T)  (13),

wherein n is the discrete time index and N₃ is the length of the filter. The coefficient set G(n) is deemed to approximate the impulse response of an equivalent echo path associated with the residual echo in the signal d₂(n). The third echo signal estimate z₃(n) can be generated by the third filter 308 as expressed by:

$\begin{matrix} {{z_{3}(n)} = {\sum\limits_{k = 0}^{N_{3} - 1}{{g_{k}(n)}{{x\left( {n - k} \right)}.}}}} & (14) \end{matrix}$

Echo cancellation is then achieved by subtracting the third echo signal estimate z₃(n) from the signal d₂(n) via the subtractor 306. The result can be expressed by:

e(n)=d ₂(n)−z ₃(n)  (15).

The third filter 308 needs also to be adaptive so that the coefficients in G(n) are trained to approach the impulse response of an equivalent echo path associated with the residual echo appearing in the signal d₂(n). The use of the adaptive algorithms for the third filter 308 is not addressed in this embodiment. It is not necessary to use the same algorithm used by the first filter 303 b or the second filter 307 b.

The final echo-cancelled signal e(n) is then transmitted to the output 302 from the subtractor 306 after implementing the first echo cancellation unit 303, the second echo cancellation unit 307 and the third filter 308.

FIG. 4 shows a block diagram of another embodiment of the acoustic echo cancellation system according to the invention. In this embodiment, the acoustic echo cancellation system uses one of the two adaptive filters to remove the echo portions from the input signal y(n). Only one filter will be activated at one time period and the multiplexer 409 selects the active one based on the input signal y(n).

The first echo estimation unit 403 and second echo estimation unit 407 include a first attenuator 403 a and a second attenuator 407 a with different down-scaling factors, respectively. After the signal x(n) has been attenuated respectively in each unit, the signal x(n) is transmitted to a corresponding filter to generate the simulated echo signal z₁(n).

The first echo estimation unit 403 comprises first attenuator 403 a and the first filter 403 b. The first attenuator 403 a applies a down-scaling factor 1/G₁ to signal x(n), where G₁ is a positive number greater than 1, and generates an attenuated signal x₁(n).

The first filter 403 b is realized by a finite impulse response (FIR) filter with coefficients expressed as:

H(n)=[h ₀(n),h ₁(n), . . . , h _(N) ₁ ⁻¹(n)]^(T)  (16),

wherein n is the discrete time index and N₁ is the length of the first filter 403 b. The first echo signal estimate z₁(n) is generated from the filtering output of the first filter 403 b given as:

$\begin{matrix} {{z_{1}(n)} = {\sum\limits_{k = 0}^{N_{1} - 1}{{h_{k}(n)}{{x_{1}\left( {n - k} \right)}.}}}} & (17) \end{matrix}$

Echo cancellation is then achieved by subtracting the first simulated echo signal z₁(n) from the signal y(n) via the subtractor 406 a. The result can be expressed as:

d(n)=y(n)−z ₁(n)  (18).

The above gives a description on using the first echo estimation unit 403 for removing the echo from the signal y(n). If the multiplexer 409 selects the second echo estimation unit 407, a similar operation will be executed. Detailed description is omitted here for simplicity.

The filter 408 can be a linear or nonlinear filter. The simplest realization is a linear FIR filter. Its coefficients can be expressed by:

G(n)=[g ₀(n),g ₁(n), . . . , g _(N−1)(n)]^(T)  (19),

wherein n is the discrete time index and N is the length of the filter. The coefficient set G(n) is deemed to approximate the impulse response of an equivalent echo path associated with the residual echo in the signal d(n). The second echo signal estimate z₂(n) can be generated by the second filter 408 as expressed by:

$\begin{matrix} {{z_{2}(n)} = {\sum\limits_{k = 0}^{N - 1}{{g_{k}(n)}{{x\left( {n - k} \right)}.}}}} & (20) \end{matrix}$

Echo cancellation is then achieved by subtracting the second simulated echo signal z₂(n) from the signal d(n) via the subtractor 406 b. The result is given as:

e(n)=d(n)−z ₂(n)  (21).

The filter 408 needs to be adaptive such that its coefficient G(n) can be trained to estimate the impulse response of an equivalent echo path associated with the residual echo appearing in the signal d(n).

The final echo-cancelled signal e(n) is then transmitted to the output 402 from the subtractor 406 b after implementing the filter 403 and 407 for the first echo estimator and the filter 408 for the residual echo estimator.

FIG. 5 is a block diagram of another embodiment of the acoustic echo cancellation system according to the invention. The echo cancellation system 501 comprises a digital signal processor 507, digital-to-analog converter (DAC) 504, analog-to-digital converter (ADC) 506, pre-amplifier 505, amplifier 509 and memory 508. The digital signal processor 507 comprises the architecture, such as those shown in FIGS. 2-4. The coefficients of the required filter, the temporary data generated during the filter operation or other data required for the filter operation are stored in the memory 508. The DAC 504 performs digital-to-analog conversion on the received signal, so that the loudspeaker 502 can play the received signal. After the digital-to-analog conversion by the DAC 504, the output analog signal is first amplified by the amplifier 509 and then transmitted to the loudspeaker 502. The acoustic signal acquired by the microphone 503 is first amplified by the pre-amplifier 505 and then converted by the ADC 506 for further signal processing. Please refer to the descriptions of FIGS. 2-4 for details on the operation. In the present application, the acoustic echo cancellation system shown in FIGS. 2-5 can be applied to phone systems, and especially to hand-free phone systems.

FIG. 6 is a flowchart of an embodiment of the acoustic echo cancellation method according to the invention. In the step S61, the first signal and the second signal are received, wherein the first signal is transmitted to a loudspeaker for playing out, the second signal is acquired by a microphone that contains the echo interference portions caused by the first signal. In the step S62, the first signal is attenuated and a first echo signal estimate is generated from the attenuated first signal using a FIR filter. In the step S63, the first echo signal estimate is removed from the second signal via a subtractor to generate a third signal. In the step S64, a second echo signal estimate is generated from the first signal using a FIR filter. In the step S65, the second echo signal estimate is removed from the third signal via a subtractor to generate the final echo-cancelled signal for transmission.

While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements. 

1. An acoustic echo cancellation system, comprising: an echo cancellation unit, comprising: a first attenuator, having a first down-scaling factor, for attenuating a first signal; a first filter to generate a first echo signal estimate based on the attenuated first signal; and a first subtractor to generate a third signal by subtracting the first echo signal estimate from a second signal; a second filter to generate a second echo signal estimate based on the first signal; and a second subtractor subtracting the second echo signal estimate from the third signal.
 2. The system as claimed in claim 1, further comprising: a second echo cancellation unit, comprising: a second attenuator, having a second down-scaling factor, for attenuating a first signal; and a third filter to generate a third echo signal estimate based on the output signal of the second attenuator, wherein the second down-scaling factor is different from the first down-scaling factor; and a third subtractor to generate a fourth signal by subtracting the third echo signal estimate from the output signal of the first subtractor.
 3. The system as claimed in claim 1, wherein the echo cancellation unit further comprises a memory storing a plurality of coefficients of the first filter, and the first filter selects corresponding coefficients based on the signal from the subtraction unit.
 4. The system as claimed in claim 1, further comprising a memory, coupled to the second filter, storing a plurality of coefficients of the second filter, wherein the second filter selects corresponding coefficients based on the signal from the subtraction unit.
 5. The system as claimed in claim 1, wherein the first filter and the second filter are the adaptive FIR filters.
 6. The system as claimed in claim 1, wherein the echo cancellation unit further comprises: a second attenuator, having a second down-scaling factor, for attenuating the first signal, wherein the second down-scaling factor is different from the first down-scaling factor; a third filter to generate a third echo signal estimate based on the output signal of the second attenuator; and a multiplexer coupled to the first attenuator and the second attenuator, transmitting the first signal to the first filter or the third filter based on a control signal.
 7. The system as claimed in claim 6, wherein the first filter and the third filter are fixed finite impulse response filter.
 8. The system as claimed in claim 6, wherein the control signal is determined based on the strength of echo signals caused by the first signal.
 9. An apparatus with an acoustic echo cancellation system, comprising: a loudspeaker receiving and playing a first signal; a microphone acquiring a second signal; an echo cancellation unit, comprising: a first attenuator, having a first down-scaling factor, for attenuating the first signal; a first filter to generate a first echo signal estimate based on the attenuated first signal; and a first subtractor to generate a third signal by subtracting the first echo signal estimate from the second signal; a second filter to generate a second echo signal estimate based on the first signal; and a second subtractor subtracting the second echo signal estimate from the third signal.
 10. The apparatus as claimed in claim 9, further comprising: a digital-to-analog converter for converting the first signal to an acoustic signal and transmitting the acoustic signal to the loudspeaker for playing; and an analog-to-digital converter for converting the acoustic signal acquired by the microphone to the second signal.
 11. The apparatus as claimed in claim 9, further comprising: a second echo cancellation unit, comprising: a second attenuator, having a second down-scaling factor, for attenuating the first signal; a third filter to generate a third echo signal estimate based on the output signal of the second attenuator, wherein the second down-scaling factor is different from the first down-scaling factor; and a third subtractor to generate a fourth signal by subtracting the third echo signal from the output signal of the first subtractor.
 12. The apparatus as claimed in claim 9, wherein the echo cancellation unit further comprises a memory storing a plurality of coefficients of the first filter, and the first filter selects corresponding coefficients based on the signal from the subtraction unit.
 13. The apparatus as claimed in claim 9, further comprising a memory, coupled to the second filter, storing a plurality of coefficients of the second filter, wherein the second filter selects corresponding coefficients based on the signal from the subtraction unit.
 14. The apparatus as claimed in claim 9, wherein the first filter and the second filter are each an adaptive FIR filter.
 15. The apparatus as claimed in claim 9, wherein the echo cancellation unit further comprises: a second attenuator, having a second down-scaling factor, for attenuating a first signal, wherein the second down-scaling factor is different from the first down-scaling factor; a third filter to generate a second echo signal based on the output signal of the second attenuator; and a multiplexer coupled to the first attenuator and the second attenuator, transmitting the first signal to the first filter or the third filter based on a control signal.
 16. The apparatus as claimed in claim 15, wherein the first filter and the third filter are each a fixed finite impulse response filter.
 17. The apparatus as claimed in claim 15, wherein the control signal is determined based on the strength of echo signals caused by the first signal.
 18. An acoustic echo cancellation method, comprising: receiving a first signal and a second signal; attenuating the first signal and generating a first echo signal based on the attenuated first signal; subtracting the first echo signal from the second signal to generate a third signal; generating a second echo signal based on the first signal; and subtracting the second echo signal from the third signal.
 19. The method as claimed in claim 18, further comprising: converting the first signal to an acoustic signal; and playing the acoustic signal by a loudspeaker.
 20. The method as claimed in claim 18, further comprising: acquiring an acoustic signal by a microphone; converting the acoustic signal to the second signal.
 21. The method as claimed in claim 20, further comprising: amplifying the acoustic signal before converting.
 22. The method as claimed in claim 18, wherein the first echo signal and the second echo signal are each generated by a respective adaptive finite impulse response filter. 